As organizations have become more reliant on computers for performing day to day activities, so too has the reliance on networks and information technology (IT) infrastructures increased. It is well known that large organizations having facilities in different geographical locations utilize distributed computing systems connected locally over local area networks (LAN) and across the geographical areas through wide-area networks (WAN).
While the benefits of a distributed approach are numerous and well understood, there has arisen significant practical challenges in managing such systems for optimizing efficiency and to avoid redundancies and/or under-utilized hardware. Decentralized control and decision making around capacity, the provisioning of new applications and hardware, and the perception that the cost of adding server hardware is generally inexpensive, have created environments with far more processing capacity than is required by the organization.
When cost is considered on a server-by-server basis, the additional cost of having underutilized servers is often not deemed to be troubling. However, when multiple servers in a large computing environment are underutilized, having too many servers can become a burden. Too many servers result in extra costs, mostly through additional capital, maintenance and upgrade expenses; redundant software licenses; and excess heat production and power consumption. As such, removing even a modest number of servers from a large computing environment can save a significant amount of cost on a yearly basis.
As a result, organizations have become increasingly concerned with such redundancies and how they can best achieve consolidation of capacity to reduce operating costs. The cost-savings objective can be realized through consolidation strategies such as, but not limited to: virtualization, operating system (OS) level stacking, database consolidation, application stacking, physical consolidation, and storage consolidation.
In general, all consolidation strategies listed above involve combining one or more source systems onto one or more target systems. Unfortunately, choosing the most appropriate sources and targets to consolidate is a daunting task. There typically is a large number of possible consolidation combinations to consider for a given set of consolidation candidates.
To determine the most suitable consolidation solution, one must, at a minimum, consider the potential constraints imposed by key system resources such as, but not limited to, CPU utilization, disk I/O activity, network I/O activity, memory utilization, etc. To evaluate the resource constraints for a set of systems to be consolidated, one must model the projected resource utilization levels of the combined systems and compare the projected values against the respective capacities of the target systems.
System workload data is normally collected as time series data (e.g. 5 minute samples). If the workload patterns of the systems are highly deterministic, an effective method for modeling the combined workload is to sum the historical time series data of the systems at like times. However, if the utilization patterns are stochastic, simply adding time series workload data of multiple systems may not be representative of the combined utilization patterns due to the unpredictable levels of workload contention between the systems.
Instead, a more sophisticated method for modeling the combined workloads of systems with stochastic data should be employed.